1. Field of Invention
This invention relates to boundary detection and boundary location determination between two regions in images.
2. Description of Related Art
Many conventional machine visions systems used in locating the edges of features in images are based primarily or exclusively on applying gradient operations to the intensity values of the original image pixels. In applying gradient operations, these systems perform edge-location using the contrast inherent in the original intensity of an image. This operation is often used for machine visions systems that emphasize determining the location of edges in images of man-made work pieces with a high degree of precision and reliability. In these cases, the geometry of the edges is often well-behaved and predictable, thus providing constraints that can be applied to the edge location operations so that good results may be obtained for the majority of these images. It is also well known to use filters prior to edge detection operations to improve the reliability of the intensity gradient-type operations in finding points along an edge, and to exclude outliers from the located edges points after edge detection to further increase the reliability of the detected edge location.
There are several conventional vision machines that use these methods. These vision machines also typically include software that provides one or more “edge tools.” The edge tools are special cursors and/or graphical user interface (GUI) elements that allow an operator of a machine vision system to more easily input useful information and/or constraints used with the underlying edge-location method.
However, as is well known in the field of image processing, these conventional methods can become unreliable when the image regions near edges exhibit a high degree of texture or when the edge is defined by a change in texture, color, or other image characteristics that do not always correspond to well-behaved intensity gradients in the image. The images associated with textured edges are inherently irregular or noisy because each texture region near a particular edge is imaged as a high spatial frequency intensity variation near the edge. Thus, the intensity gradient-type operations previously discussed tend to return noisy results, which subsequently result in poor detection of the edge locations. Although filtering operations can be used to reduce the noise in these situations, the filtering operations can also unintentionally further disturb the image in a way that distorts the detected edge location. Furthermore, in some cases, for example when the average intensities in the texture regions bordering the edge are approximately the same, intensity gradient operations become completely unreliable for finding the location of the edges. Thus, in such situations, the conventional methods cannot precisely detect an edge location of an image because there is no significant intensity gradient or differential that can be clearly detected.
In images containing multiple distinct objects or regions having various textures, a wide variety of texture-based image-segmentation methods are known. For example, one method can group or classify image pixels into local regions based on the values of particular texture metrics. Such methods define a border which separates the pixels grouped or classified in one region from the pixels grouped or classified in the other region, as a by-product of classification process. However, such methods are typically designed and applied for object recognition, object tracking and the like.
A common problem associated with these existing image segmentation systems is the rigidity of the system structure. Systems which include a great variety of texture filters for robustness are too slow to support high-speed industrial throughput requirements. Systems which limit the number of texture filters and or use a limited number of predetermined parameters usable as thresholds in detecting region membership are often unreliable when applied to a wide variety of textures. Thus, such existing segmentation systems are insufficiently versatile, robust and/or fast for use in a general-purpose commercial machine vision system.
Furthermore, such segmentation methods have not been well-developed for finding relatively precise positions for edge locations at the boundaries between regions. It is generally recognized that accurate edge/boundary preservation is a goal that conflicts to some extent with operations, such as energy estimation, which are essential for accurate pixel grouping or classification. For example, U.S. Pat. No. 6,178,260 to Li et al. discloses a method used for character recognition, where a local roughness and a peak-valley count is determined for a window and/or subwindow of an image. The input image data for the window is subsequently classified based on the local roughness and the peak-valley count. This method may be complemented by using a pattern-detecting edge class that tries to identify line art or kanji regions that could otherwise be missed by the roughness and peak-valley classification. This image segmentation method is more robust than many previous methods, and adapts to a current image. However, this method does not disclose any specific methods or tools of particular use for locating the position of a boundary between the classification regions with robustness and precision.
U.S. Pat. No. 6,111,983 to Fenster et al. discloses a method used for shape recognition that can be used with medical images. In this method, a shape model is “trained” for parameter settings in an objective function, based on training data for which the correct shape is specified. This training can be advantageously applied to models in which a shape or a boundary is treated in a sectored fashion, with training individually applied to each sector. The sectors may be characterized by a variety or combination of features, and the features are adjusted to generate a desirable sector dependent objective function. This method is more robust than many previous methods, and adapts to a current image. However, the method does not disclose any specific methods or tools for locating the position of a boundary between various sectors with robustness and precision.
For application to general purpose commercial machine vision systems, it is also highly desirable or necessary that the various image processing methods incorporated into the system can be set up and operated for particular images by relatively unskilled users, that is, users who are not skilled in the field of image processing. Thus, it is a particular problem to create a machine vision system which locates textured edges in a versatile, robust, fast and relatively precise way, while at the same time adapting and governing that machine vision system edge detection process through the use of a simple user interface that is operable by a relatively unskilled operator.